home *** CD-ROM | disk | FTP | other *** search
- head 1.3;
- branch ;
- access ;
- symbols ;
- locks ; strict;
- comment @@;
-
-
- 1.3
- date 91.08.14.12.51.25; author shirriff; state Exp;
- branches ;
- next 1.2;
-
- 1.2
- date 90.05.08.22.47.52; author douglis; state Exp;
- branches ;
- next 1.1;
-
- 1.1
- date 90.03.16.10.23.08; author douglis; state Exp;
- branches ;
- next ;
-
-
- desc
- @sendmail configuration file, with minor mods for sprite.
- @
-
-
- 1.3
- log
- @Fixed a bug with mail getting in an infinite loop sprite->allspice->sprite
- @
- text
- @#
- # Sendmail
- # Copyright (c) 1983 Eric P. Allman
- # Berkeley, California
- #
- # Copyright (c) 1983 Regents of the University of California.
- # All rights reserved. The Berkeley software License Agreement
- # specifies the terms and conditions for redistribution.
- #
- # @@(#)renoir.mc 1.10 (Berkeley) 4/25/87
- #
- ############################################################
- ############################################################
- #####
- ##### SENDMAIL CONFIGURATION FILE
- #####
- ############################################################
- ############################################################
-
-
-
- ##################
- # local info #
- ##################
-
- # internet hostname REPLACE HOSTNAME WITH YOUR MACHINE NAME HERE
- # The w variable contains the name of the host on which the sendmail is
- # running, while the w class contains the name(s) of the local host and
- # those of the main mail server as well.
- #
- Dwsprite.Berkeley.EDU
- CwLOCAL sprite where
-
- #############################
- ### Setup Information ###
- #############################
-
-
- ######################
- # General Macros #
- ######################
-
- # our arpanet gateway. Since ucbvax is highly loaded and ginger is
- # NIC-registed, let's make outgoing mail claim to be from
- # user%spur-host@@ginger.Berkeley.EDU instead of @@Berkeley.EDU.
- # ... FD 2/12/88
- DAginger.Berkeley.EDU
-
- # local domain names
- DDBerkeley.EDU
-
- # major relay host
- DRucbvax
-
- # bitnet relay
- DCjade
-
- # berknet relay
- DB$R
-
- # my official hostname
- Dj$w
-
-
-
- ###############
- # Classes #
- ###############
-
- # our arpanet gateway
- CABerkeley UCB ucbc70 c70 UCB-C70 u UCB-VAX ucbvax
-
- # local domain names
- CDBERKELEY UCB ucbc70 c70 ucb-c70 u UCB-VAX ucbvax
-
- # major relay host
- CRucbvax vax
-
- # all supported top-level domains
- CKLOCAL ARPA UUCP BITNET CSNET EDU MIL COM GOV AU IL NET ORG UK US
-
- # local domains
- CTLOCAL ARPA UUCP BITNET CSNET
-
- # legal Internet top-level domains
- CPARPA EDU MIL GOV COM IL NET ORG UK US
-
- # Internal domains that we use in rewriting (not known by NIC)
- CILOCAL UUCP BITNET CSNET DEC MailNET CC
-
-
-
- ############################################################
- ############################################################
- #####
- ##### BERKELEY HOSTS REGISTERED WITH THE NIC
- #####
- ############################################################
- ############################################################
-
-
- CNbach ucbbach
- CNbizet ucbbizet
- CNbrahms ucbbrahms
- CNcad ucbcad
- CNcartan ucbcartan
- CNdegas ucbdegas
- CNeast ucbeast
- CNernie ucbernie
- CNesvax ucbesvax
- CNginger ucbginger
- CNingres ucbingres
- CNjade ucbjade
- CNji ucbji
- CNmedea ucbmedea
- CNmike ucbmike
- CNmonet ucbmonet
- CNoz ucboz
- CNrenoir ucbrenoir
- CNshadow ucbshadow
- CNucbarpa
- CNucbvax
- CNviolet ucbviolet
- CNweyl ucbweyl
-
-
- ######################
- # Version Number #
- ######################
-
- DZ1.29
-
-
- ######################
- # Special macros #
- ######################
-
- # my name
- DnMAILER-DAEMON
- # UNIX header format
- DlFrom $g $d
- # delimiter (operator) characters
- Do.:%@@!^=/[]
- # format of a total name
- Dq$g$?x ($x)$.
- # SMTP login message
- De$j Sendmail $v/$Z ready at $b
-
- # forwarding host -- redefine this if you can't talk to the relay directly #
- DF$R
-
- ###############
- # Options #
- ###############
-
- # location of alias file
- OA/sprite/lib/sendmail/aliases
- # wait up to ten minutes for alias file rebuild
- # actually, since we don't use dbm anymore, this is irrelevant
- Oa10
- # substitution for space (blank) characters
- OB.
- # (don't) connect to "expensive" mailers
- #Oc
- # default delivery mode (deliver in background)
- Odbackground
- # temporary file mode
- OF0600
- # default GID
- Og1
- # location of help file
- OH/sprite/lib/sendmail/sendmail.hf
- # log level
- # default is 9; we use 8 as cutoff for uninteresting messages.
- OL8
- # default network name
- ONARPA
- # default messages to old style
- Oo
- # queue directory
- OQ/sprite/spool/mqueue
- # read timeout -- violates protocols
- Or2h
- # status file
- # we need to use md as a link to $MACHINE.md because otherwise sendmail
- # interprets the $ incorrectly.
- OS/sprite/lib/sendmail/md/sendmail.st
- # queue up everything before starting transmission
- Os
- # default timeout interval
- OT3d
- # time zone names (V6 only)
- OtPST,PDT
- # default UID
- Ou1
- # wizard's password
- OW*
- # load average at which we just queue messages
- Ox8
- # load average at which we refuse connections
- OX12
-
- ###########################
- # Message precedences #
- ###########################
-
- Pfirst-class=0
- Pspecial-delivery=100
- Pbulk=-60
- Pjunk=-100
-
- #####################
- # Trusted users #
- #####################
-
- Troot
- Tdaemon
- Tuucp
- Teric
- Tnetwork
-
- #########################
- # Format of headers #
- #########################
-
- H?P?Return-Path: <$g>
- HReceived: $?sfrom $s $.by $j ($v/$Z)
- id $i; $b
- H?D?Resent-Date: $a
- H?D?Date: $a
- H?F?Resent-From: $q
- H?F?From: $q
- H?x?Full-Name: $x
- HSubject:
- # HPosted-Date: $a
- # H?l?Received-Date: $b
- H?M?Resent-Message-Id: <$t.$i@@$j>
- H?M?Message-Id: <$t.$i@@$j>
-
-
-
- ###########################
- ### Rewriting Rules ###
- ###########################
-
-
- ################################
- # Sender Field Pre-rewriting #
- ################################
- S1
- #R$*<$*>$* $1$2$3 defocus
-
- ###################################
- # Recipient Field Pre-rewriting #
- ###################################
- S2
- #R$*<$*>$* $1$2$3 defocus
-
-
-
- #################################
- # Final Output Post-rewriting #
- #################################
- S4
-
- R@@ $@@ handle <> error addr
-
- # resolve numeric addresses to name if possible
- R$*<@@[$+]>$* $:$1<@@$[[$2]$]>$3 lookup numeric internet addr
-
- # externalize local domain info
- R$*<$+>$* $1$2$3 defocus
- R@@$+:@@$+:$+ @@$1,@@$2:$3 <route-addr> canonical
-
- # UUCP must always be presented in old form (with domains, leave the ".uucp")
- R$+@@$-.UUCP $2!$1 u@@h.UUCP => h!u
- R$+@@$-.$-.UUCP $2.$3.uucp!$1 u@@h.UUCP => h!u
- R$+@@$-.$-.$-.UUCP $2.$3.$4.uucp!$1 u@@h.UUCP => h!u
- R$+@@$-.$-.$-.$-.UUCP $2.$3.$4.$5.uucp!$1 u@@h.UUCP => h!u
- R$+@@$-.$-.$-.$-.$-.UUCP $2.$3.$4.$5.$6.uucp!$1 u@@h.UUCP => h!u
-
- # delete duplicate local names -- mostly for arpaproto.mc
- R$+%$=w@@$=w $1@@$w u%UCB@@UCB => u@@UCB
- R$+%$=w@@$=w.$D $1@@$w u%UCB@@UCB => u@@UCB
-
-
-
- ###########################
- # Name Canonicalization #
- ###########################
- S3
-
- # handle "from:<>" special case
- R<> $@@@@ turn into magic token
-
- # basic textual canonicalization -- note RFC733 heuristic here
- R$*<$*<$*<$+>$*>$*>$* $4 3-level <> nesting
- R$*<$*<$+>$*>$* $3 2-level <> nesting
- R$*<$+>$* $2 basic RFC821/822 parsing
- R$+ at $+ $1@@$2 "at" -> "@@" for RFC 822
-
- # make sure <@@a,@@b,@@c:user@@d> syntax is easy to parse -- undone later
- R@@$+,$+ @@$1:$2 change all "," to ":"
-
- # localize and dispose of route-based addresses
- R@@$+:$+ $@@$>6<@@$1>:$2 handle <route-addr>
-
- # more miscellaneous cleanup
- R$+ $:$>8$1 host dependent cleanup
- R$+:$*;@@$+ $@@$1:$2;@@$3 list syntax
- R$+:$*; $@@$1:$2; list syntax
- R$+@@$+ $:$1<@@$2> focus on domain
- R$+<$+@@$+> $1$2<@@$3> move gaze right
- R$+<@@$+> $@@$>6$1<@@$2> already canonical
-
- # convert old-style addresses to a domain-based address
- R$+^$+ $1!$2 convert ^ to !
- R$-!$+ $@@$>6$2<@@$1.UUCP> resolve uucp names
- R$+.$-!$+ $@@$>6$3<@@$1.$2> domain uucps
- R$+!$+ $@@$>6$2<@@$1.UUCP> uucp subdomains
- R$-:$+ $@@$>6$2<@@$1> host:user
- R$-=$+ $@@$>6$2<@@$1.BITNET> resolve bitnet names
- R$+%$+ $:$>9$1%$2 user%host
- R$+<@@$+> $@@$>6$1<@@$2> already canonical
- R$-.$+ $@@$>6$2<@@$1> host.user
-
-
- #################################
- # special local conversions #
- #################################
-
- S6
- R$*<@@$=w>$* $:$1<@@$w>$3 get into u@@$w form
- R$*<@@$=w.$D>$* $:$1<@@$w>$3
- R$*<@@$=w.EDU>$* $:$1<@@$w>$3
- R$*<@@$=U.UUCP>$* $:$1<@@$w>$3
-
- ################################
- # Change rightmost % to @@. #
- ################################
-
- S9
- R$*%$* $1@@$2 First make them all @@'s.
- R$*@@$*@@$* $1%$2@@$3 Undo all but the last.
- R$*@@$* $@@$1<@@$2> Put back the brackets.
-
-
-
- ###################
- ### Mailers ###
- ###################
-
-
- ############################################################
- ############################################################
- #####
- ##### Local and Program Mailer specification
- #####
- ############################################################
- ############################################################
-
- # we need to use md as a link to $MACHINE.md because otherwise sendmail
- # interprets the $ incorrectly.
- Mlocal, P=/sprite/lib/sendmail/md/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
- Mprog, P=/sprite/cmds/sh, F=ElsDFMe, S=10, R=20, A=sh -c $u
-
- S10
- R@@ $n errors to mailer-daemon
-
-
- ############################################################
- ############################################################
- #####
- ##### Arpanet TCP Mailer specification
- #####
- ##### Messages processed by this specification are assumed to leave
- ##### the local domain -- hence, they must be canonical according to
- ##### RFC822 etc.
- #####
- ##### This mailer is to be used with the Berkeley Name Server.
- #####
- ############################################################
- ############################################################
-
- Mtcp, P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h, E=\r\n
-
- S14
-
- # pass <route-addr>'s through
- R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
-
- # map colons to dots everywhere
- R$*:$* $1.$2 map colons to dots
-
- # output local host in user@@host.BERKELEY.EDU syntax
- R$- $1<@@$w> user w/o host
- R$+<@@$=w> $:$1<@@$w> this host
- R$+<@@$-> $:$1<@@$[$2$]> canonicalize into dom
- R$+<@@$-> $:$1<@@$2.$D> if nameserver fails
- #Remove original restriction for nic-registered hosts
- #R$+<@@$=N.$D> $@@$1<@@$2.$D> nic-reg hosts are ok
- #R$+<@@$*.$D> $@@$1%$2.$D<@@$A> else -> u%h@@gateway
- R$+<@@$*.$D> $@@$1<@@$2.$D> all hosts okay
-
- # if not local, and not a "fake" domain, ask the nameserver
- R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
- R$+<@@[$+]> $@@$1<@@[$2]> already ok
-
- # output internal ("fake") domains as "user%host@@relay"
-
- R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
- R$+<@@$+.BITNET> $@@$1%$2.BITNET<@@jade.berkeley.edu> user@@host.BITNET
- R$+<@@$+.UUCP> $@@$2!$1<@@$w> user@@host.UUCP
-
-
- S24
-
- # put in <> kludge
- R$*<$*>$* $1$2$3 defocus
- R$* $:$>3$1 now canonical form
-
- # pass <route-addr>'s through
- R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
-
- # map colons to dots everywhere.....
- R$*:$* $1.$2 map colons to dots
-
- # output local host in user@@host.domain syntax
- R$- $1<@@$w> user w/o host
- R$+<@@$=w> $:$1<@@$w> this host
- R$+<@@$-> $:$1<@@$[$2$]> canonicalize into dom
- R$+<@@$-> $:$1<@@$2.$D> if nameserver fails
- #Remove original restriction for nic-registered hosts
- #R$+<@@$=N.$D> $@@$1<@@$2.$D> nic-reg hosts are ok
- #R$+<@@$*.$D> $@@$1%$2.$D<@@$A> else -> u%h@@gateway
- R$+<@@$*.$D> $@@$1<@@$2.$D> all hosts okay
-
- # if not local, and not a "fake" domain, ask the nameserver
- R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
- R$+<@@[$+]> $@@$1<@@[$2]> already ok
-
- # Hide fake domains behind gateways
-
- R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
- R$+<@@$+.BITNET> $@@$1<@@$2.BITNET> user@@host.BITNET
- R$+<@@$+.UUCP> $@@$2!$1 user@@host.UUCP
-
-
-
- ############################################################
- ############################################################
- #####
- ##### Local Domain TCP Mailer specification
- #####
- ##### Messages processed by this specification are assumed to remain
- ##### the local domain -- hence, they must be canonical according to
- ##### RFC822 etc.
- #####
- ##### This mailer is to be used with the Berkeley Name Server.
- #####
- ############################################################
- ############################################################
-
- Mtcpld, P=[IPC], F=mDFMueXLC, S=17, R=27, A=IPC $h, E=\r\n
-
- S17
-
- # cleanup forwarding a bit
- R$*<$*>$* $1$2$3 defocus
- R$* $:$>3$1 canonicalize
- R$*%$*<@@$w> $:$>9$1%$2 user%localhost@@localdomain
-
- # pass <route-addr>'s through
- R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
-
- # map colons to dots everywhere
- R$*:$* $1.$2 map colons to dots
-
- # output local host as user@@host.domain
- R$- $@@$1<@@$w> user w/o host
- R$+<@@$w> $@@$1<@@$w> this host
- R$+<@@$=w> $@@$1<@@$w> or an alias
- R$+<@@$-> $:$1<@@$[$2$]> ask nameserver
- R$+<@@$w> $@@$1<@@$w> this host
- R$+<@@$-> $@@$1<@@$2.$D> if nameserver fails
-
- # if not local, and not a "fake" domain, ask the nameserver
- R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
- R$+<@@[$+]> $@@$1<@@[$2]> already ok
-
- # output fake domains as user%fake@@relay
-
- R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
- R$+<@@$+.BITNET> $@@$1%$2.BITNET<@@jade.berkeley.edu> user@@host.bitnet
- R$+<@@$+.UUCP> $@@$2!$1<@@$w> user@@host.UUCP
-
-
- S27
-
- # cleanup
- R$*<$*>$* $1$2$3 defocus
- R$* $:$>3$1 now canonical form
- R$*%$*<@@$w> $:$>9$1%$2 user%localhost@@localdomain
-
- # pass <route-addr>'s through
- R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
-
- # map colons to dots everywhere
- R$*:$* $1.$2 map colons to dots
-
- # output local host as user@@host.domain
- R$- $@@$1<@@$w> user w/o host
- R$+<@@$w> $@@$1<@@$w> this host
- R$+<@@$=w> $@@$1<@@$w> or an alias
- R$+<@@$-> $:$1<@@$[$2$]> ask nameserver
- R$+<@@$w> $@@$1<@@$w> this host
- R$+<@@$-> $@@$1<@@$2.$D> if nameserver fails
-
- # if not local, and not a "fake" domain, ask the nameserver
- R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
- R$+<@@[$+]> $@@$1<@@[$2]> already ok
-
- # output fake domains as user%fake@@relay
-
- R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
- R$+<@@$+.BITNET> $@@$1<@@$2.BITNET> user@@host.BITNET
- R$+<@@$+.UUCP> $@@$2!$1 user@@host.UUCP
-
-
-
-
-
- #####################
- ### Rule Zero ###
- #####################
-
-
- ############################################################
- ############################################################
- #####
- ##### RULESET ZERO PREAMBLE
- #####
- ##### The beginning of ruleset zero is constant through all
- ##### configurations.
- #####
- ############################################################
- ############################################################
-
- S0
-
- # first make canonical
- R$*<$*>$* $1$2$3 defocus
- R$+ $:$>3$1 make canonical
-
- # handle special cases
- R$*<@@[$+]>$* $:$1<@@$[[$2]$]>$3 lookup numeric internet addr
- R$*<@@[$+]>$* $#tcp$@@[$2]$:$1@@[$2]$3 numeric internet spec
- R$+ $:$>6$1
- R$-<@@$w> $#local$:$1
- R@@ $#error$:Invalid address handle <> form
-
- # now delete the local info (extra, in case the name server messes up)
- R<@@$w>:$* $@@$>0$1 @@here:... -> ...
- R$*<@@$w> $@@$>0$1 ...@@here -> ...
-
- # canonicalize using the nameserver if not internal domain
- R$*<@@$*.$~I>$* $:$1<@@$[$2.$3$]>$4
- R$*<@@$->$* $:$1<@@$[$2$]>$3
- R$*<@@$->$* $:$1<@@$2.$D>$3 if nameserver fails
-
- # now delete the local info
- R<@@$w>:$* $@@$>0$1 @@here:... -> ...
- R$*<@@$w> $@@$>0$1 ...@@here -> ...
-
- # forward around hosts with communication problems
- R$*<@@$=F>$* $#tcp$@@$F$:$1<@@$2>$3 reroute message
-
- ##################################
- # End of ruleset zero preamble #
- ##################################
-
-
- ###############################################
- ### Machine dependent part of Rule Zero ###
- ###############################################
-
-
-
-
-
- # resolve fake top level domains by forwarding to other hosts
- R$*<@@$+.BITNET>$* $#tcpld$@@jade.berkeley.edu$:$1<@@$2.BITNET>$3 user@@host.BITNET
- R$*<@@$+.CSNET>$* $#tcp$@@relay.cs.net$:$1<@@$2.CSNET>$3 user@@host.CSNET
-
-
- # forward UUCP traffic to our UUCP gateway
- R$*<@@$*.UUCP>$* $#tcpld$@@$F$:$1<@@$2.UUCP> uucp mail
-
- # On monet, things are set up with the following two rules.
- ## hide behind a gateway when talking to people who don't speak domains
- #R$*<@@$*.arpa>$* $#tcp$@@$2.arpa$:$1<@@$2.arpa>$3 user@@host.arpa
- #
- ## but don't hide if they do.
- #R$*<@@$*>$* $#tcpld$@@$2$:$1<@@$2>$3 user@@host.domain
-
- # Instead, we hide all the time unless we're within our local domain.
- R$*<@@$*.$D>$* $#tcpld$@@$2.$D$:$1<@@$2.$D>$3 user@@host.our.domain
- R$*<@@$*>$* $#tcp$@@$2$:$1<@@$2>$3 user@@host.domain
-
- # remaining names must be local
- R$+ $#local$:$1 everything else
- @
-
-
- 1.2
- log
- @convert From to >From.
- @
- text
- @d32 1
- a32 1
- CwLOCAL sprite
- d561 4
- @
-
-
- 1.1
- log
- @Initial revision
- @
- text
- @d365 1
- a365 1
- Mprog, P=/sprite/cmds/sh, F=lsDFMe, S=10, R=20, A=sh -c $u
- @
-